package com.sharemarking.wa.platform.service;

import com.sharemarking.wa.platform.dto.MicroProgramSession;

public interface SecurityService {
	/**
	 * 获取随机token
	 * @return
	 */
	String getToken();
	
	/**
	 * 通过参数中的_token获取pdaUserId,无效token则抛出异常{@link com.sharemarking.pda.exception.TokenExpiredException}
	 * @return
	 */
	Integer getCurrentUserId();
	
	/**
	 * 通过参数中的_token获取已缓存的session_key,无效token则抛出异常{!link com.sharemarking.pda.exception.MicroProgramSessionExpiredException}
	 * @return
	 */
	MicroProgramSession getCurrentProgramSession();
	/**
	 * 通过session_key校验target是否由微信生成,校验不通过则抛出异常{@link com.sharemarking.pda.exception.MicroProgramSignatureException}
	 * @param target 目标字符串
	 * @param signature 签名
	 * @return
	 */
	void checkMicroProgramData(String target, String signature);
}
